// 当前这个模块： API 进行统一管理
import requests  from "./request";
import mockRequests from './mockAjax'
// 三级联动接口
//  /api/product/getBaseCategoryList get 无参数
// 发请求：axios 发请求返回的结果是Promise 对象
export const reqCategoryList = () => {
    // 发请求
    return requests({
        url:'/product/getBaseCategoryList',
        method: 'get'
    })
}

// 获取banner (Home 首页轮播图接口)
export const reqGetBannerList = ()=>{
    return mockRequests({
        method:'get',
        url:'/banner'
    })
}

// 获取floor的数据
export const reqFloorList = () =>{
    return mockRequests({
        method:'get',
        url:'/floor'
    })
}

// 获取搜索模块数据 地址 /api/list 请求方式 post  
/* 
{
  "category3Id": "61",
  "categoryName": "手机",
  "keyword": "小米",
  "order": "1:desc",
  "pageNo": 1,
  "pageSize": 10,
  "props": ["1:1700-2799:价格", "2:6.65-6.74英寸:屏幕尺寸"],
  "trademark": "4:小米"
}
*/
export const reqGetSearchInfo = (params)=>{
    return requests({
        url:'/list',
        method:'post',
        data:params || {}
    })

}

// 获取商品详情  地址 /api/item/{ skuId } 请求方式 get 参数skuId 必选
export const reqGoodsInfo = (skuId)=>{
    return requests({
        url:'/item/'+skuId,
        method:'get'
    })
}

// 添加到购物车 /api/cart/addToCart/{ skuId }/{ skuNum } 请求方式 post 参数必选
export const reqAddOrUpdateShopCart = (skuId,skuNum) =>{
    return requests({
        url:`/cart/addToCart/${skuId}/${skuNum}`,
        method:'post'
    })
}

// 6.获取购物车列表 /api/cart/cartList  请求方式 GET
export const reqCartList = ()=>{
    return requests({
        url:'/cart/cartList',
        method:'get'
    })
}

// 删除购物车产品列表   /api/cart/deleteCart/{skuId} 请求方式 delete
export const reqDeleteCart = (skuId)=>{
    return requests({
        url:`/cart/deleteCart/${skuId}`,
        method:'delete'
    })
}

// 8.切换商品选中状态   /api/cart/checkCart/{skuId}/{isChecked} 请求方式 get
export const reqUpdateCheckById = (skuId,isChecked)=>{
    return requests({
        url:`/cart/checkCart/${skuId}/${isChecked}`,
        method:'get'
    })
}

// 获取验证码   /api/user/passport/sendCode/{phone}  get
export const reqGetCode = (phone)=>{
    return requests({
        url:`/user/passport/sendCode/${phone}`,
        method:'get'
    })
}

// 16.注册用户  /api/user/passport/register     POST      参数必选 phone    password    code
export const reqUserRegister = (data)=>{
    return requests({
        url:'/user/passport/register ',
        method:'post',
        data
    })
}

// 2.登录   /api/user/passport/login    POST 参数必选 phone    password   
export const reqUserLogin = (data)=>{
    return requests({
        url:'/user/passport/login ',
        method:'post',
        data
    })
}

// token校验获取用户登录信息    /api/user/passport/auth/getUserInfo     get
export const reqUserInfo = ()=>{
    return requests({
     url:'/user/passport/auth/getUserInfo ',
     method:'get'
    })
}

// 17.退出登陆  /api/user/passport/logout   get
export const reqLogout = ()=>{
    return requests({
        url:'/user/passport/logout',
        method:'get'
    })
}

// 获取用户地址信息 /api/user/userAddress/auth/findUserAddressList      get
export const reqAddressInfo =()=>{
    return requests({
        url:'/user/userAddress/auth/findUserAddressList',
        method:'get'
    })
}

// 10.获取订单交易页信息    /api/order/auth/trade       GET
export const reqOrderInfo = ()=>{
    return requests({
        url:'/order/auth/trade',
        method:'get'
    })
}

// 12.提交订单  /api/order/auth/submitOrder?tradeNo={tradeNo}   post
// 参数名称	类型	是否必选	描述
// traderNo	string	Y	交易编号(拼接在路径中)
// consignee	string	Y	收件人姓名
// consigneeTel	string	Y	收件人电话
// deliveryAddress	string	Y	收件地址
// paymentWay	string	Y	支付方式
// (ONLINE代表在线)
// orderComment	string	Y	订单备注
// orderDetailList	Array	Y	存储多个商品对象的数组

export const reqSubmitOrder = (tradeNo,data)=>{
    return requests({
        method:'post',
        url:`/order/auth/submitOrder?tradeNo=${tradeNo}`,
        data
    })
}


// 13.获取订单支付信息  /api/payment/weixin/createNative/{orderId}     GET 
// 参数名称	类型	是否必选	描述
// orderId	string	Y	支付订单ID (通过提交订单得到)
export const reqPayInfo = (orderId)=>{
    return requests({
        method:'get',
        url:`/payment/weixin/createNative/${orderId}`,
    })
}

// 14.查询支付订单状态  /api/payment/weixin/queryPayStatus/{orderId}    get
// 参数名称	类型	是否必选	描述
// orderId	string	Y	支付订单ID
export const reqPayStatus = (orderId)=>{
    return requests({
        method:'get',
        url:`/payment/weixin/queryPayStatus/${orderId}`
    })
}

// 11.获取我的订单列表  /api/order/auth/{page}/{limit}      GET
// page	string	Y	页码
// limit	string	Y	每页显示数量
export const reqMyOrderList = (page,limit)=>{
    return requests({
        url:`/order/auth/${page}/${limit}`,
        method:'get'
    })
}